Skip to content

GameCenter is a mobile App (android & iOS) and an API to you manage all your games info in all yours playforms, so you can track the games you're playing, willing to play and finished

License

matheuslenke/GameCenter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Your games in control

Se preferir, leia a documentação em Português
Portugues

Home of the app showing all games the user is playing Game Details Screenshot showing Pokemon Unite Create Game Screen

 

📝 About The Project

GameCenter is a mobile App (android & iOS) and an API to you manage all your games info in all yours platforms, so you can track the games you're playing, willing to play and finished. The goal of the application was to give users an easy way to manage all the games they have in their own mobile device. It was developed for the Integrated Project Classes, which is a course computer science students take at UFES - Universidade Federal do Espírito Santo, in Brazil.

Some of the things you can do:

  • Login with your Twitch account
  • Search for games to add to your library
  • Change games that you already added status
  • Set which date you started and finished playing a game, so you can track how long you took to finish it

(back to top)

🔨 Built With

Here are some of the languages, frameworks, tools and libraries used in development of this application:

(back to top)

⌨️ Getting Started

This is the instructions on setting up your project locally. To get a local copy up and running follow these simple example steps:

Prerequisites

This is all the tools you need installed to run the project and the versions that are preferred

  • nodejs - v16.9.1
  • java - openjdk 16.0.2
  • mvn - 3.8.3
  • expo - 4.12.0

In this project we used yarn, but you can run it with npm if you prefer

  • npm - 7.21.1
  • yarn - 1.22.11

If you are planning to run this project locally, you need to seach how to install all these tools for your Operational System, and you can find that in their official websites. Also, if you want to test the mobile application, you need to configure an Android Simulator or an iOS Simulator if you're using MacOS. You can use Expo web to run an web version of the app, but it's not working with the libraries we used

💻 Installation

Clone the repo

git clone https://github.com/matheuslenke/GameCenter.git

To configure the MongoDB URI, go to backend/src/main/resources/application.yml and change the parameters. You also need to change in backend/src/test/resources/application.yml to change the parameters to the test database

⚙️Initializing Back-end

  # Enter back-end directory:
  $ cd backend
  # Install the dependencies:
  $ mvn install
  # Run tests:
  $ mvn test
  # Run Application:
  $ mvn spring-boot:run

First, you need to create a .env file at the frontend folder, copy the contents from .env.example and fill the needed environment variables.

📱Initializing Front-end

  # Enter front-end directory:
  $ cd frontend
  # Install the dependencies:
  $ yarn
  # Run the aplication on development mode:
  $ expo start

(back to top)

📲 Usage

Here you can see some Gifs of how someone would use this app. Some of the features are:

  • Log in with a Twitch.tv account, and it will link every game they add to their library
  • See all their games by status, learn more about the game in game details
  • Add new games to their library
  • Change the status of the games in their library
  • See what info we got from their Twitch.tv account, and log out
Gif showing how to use the app Gif showing how to use the app Gif showing how to use the app Gif showing how to use the app

(back to top)

📁 File structure

Here, we can see the file structure explained

Project root
│   README.md
│   
└───backend
│   │    Here we can see all the Java classes from our app
│   └───src/main/java/br/ufes/gamecenter/apirest
│      └───ApirestApplication.java - Backend Main class
│      └───config - Some error classes
│      └───controller - Where the requests are mapped
│      └───model - Entities of the application
│      └───repository - Interface that connects with database
│      └───service - The logic between the controller and the repository
│      └───security - Spring Security classes
│
└───frontend
│   │   index.js - Entry file
│   │   App.tsx - First Component file
|   |
│   └───src
│       │
│       └───assets - Images, SVGs, etc used in application
│       └───components - Components used in Screens
|       └───config - Configuration files
│       └───global - Theme configurations
|       └───hooks - All custom hooks and contexts
|       └───routes - Application routes
|       └───screens - All the app screens
|       └───services - Connections to APIs with Axios
|       └───utils - Some utilities functions
|
└───database
    │   #Deprecated, this dockerfile isn't properly configured
    │    to connect with backend
    └───docker-compose.yml

🤝 Contributing

If you have a suggestion that would make this app better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". If you are having any problem, open an issue with the tag "error"

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

🔐 License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

✉️ Contact

Matheus Lenke Coutinho - matheus.l.coutinho@edu.ufes.br - Linkedin - Github

Igor Wandermurem Dummer - igor.dummer@edu.ufes.br - Github

Project Link: https://github.com/matheuslenke/GameCenter

(back to top)

🔧 Additional tools

Additional tools that we recommend to develop

(back to top)

About

GameCenter is a mobile App (android & iOS) and an API to you manage all your games info in all yours playforms, so you can track the games you're playing, willing to play and finished

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published